package com.sg.dto.biz.component.res;

import com.sg.dto.biz.component.common.*;
import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @desc ImplementTenReceivingFieldRespDto
 * @使用场景
 */
@Data
public class ImplementTenReceivingFieldRespDto
        extends BaseDto
        implements Serializable {

    /**
     * 文档夹ID
     */
    @ApiModelProperty("文档夹ID")
    private String unstructuredDataFolderId;
    /**
     * 文件相对路径地址
     */
    @ApiModelProperty("文件相对路径地址")
    private String fileRelativePathAccess;
    @ApiModelProperty("文档列表")
    private List<DocumentDto> documentList = new ArrayList<>();
    /**
     * 末级周期类型 HALF_YEAR:半年 QUARTER:季度 DOUBLE_MONTHS:双月 MONTH:月 DOUBLE_WEEKS:双周 WEEK:周 DISABLE:不启用
     */
    @ApiModelProperty("末级周期类型")
    private String lastCycleType;

    /**
     * 第二末级周期类型 HALF_YEAR:半年 QUARTER:季度 DOUBLE_MONTHS:双月 MONTH:月 DOUBLE_WEEKS:双周 WEEK:周 DISABLE:不启用
     */
    @ApiModelProperty("第二末级周期类型")
    private String secondLastCycleType;
    /**
     * 自定义字段1
     */
    @ApiModelProperty("自定义字段1")
    private String customField1;

    /**
     * 自定义字段2
     */
    @ApiModelProperty("自定义字段2")
    private String customField2;
    /**
     * 自定义字段
     */
    @ApiModelProperty("自定义字段")
    private String customField;
    /**
     * 工作周期类型标识
     */
    @ApiModelProperty("工作周期类型标识")
    private String workCycleTypeCode;

    /**
     * 是否租户周期 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否租户周期")
    private String isTenementCycle;

    /**
     * 工作周期开始时间
     */
    @ApiModelProperty("工作周期开始时间")
    private Date workCycleStartTime;

    /**
     * 工作周期结束时间
     */
    @ApiModelProperty("工作周期结束时间")
    private Date workCycleEndTime;
    /**
     * 数据对象批次标识
     */
    @ApiModelProperty("数据对象批次标识")
    private String dataObjectBatchCode;
    /**
     * 通用数值字段（小数型）
     */
    @ApiModelProperty("通用数值字段（小数型）")
    private Double comFloatField;
    /**
     * 自定义字段3
     */
    @ApiModelProperty("自定义字段3")
    private String customField3;

    /**
     * 自定义字段4
     */
    @ApiModelProperty("自定义字段4")
    private String customField4;

    /**
     * 自定义字段5
     */
    @ApiModelProperty("自定义字段5")
    private String customField5;
    /**
     * 文档应用业务场景 BASIC_FUNCTIONS:基础功能 WORK_TASKS:工作任务 PLANNING:规划 PERFORMANCE:绩效 DESIGN_WORK:设计工作
     */
    @ApiModelProperty("文档应用业务场景")
    private String docUseSceneCode;
    /**
     * 是否开启中期 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启中期")
    private String openMidCycle;

    /**
     * 周期模式 FATHER_SON_CYCLE:父子周期 SINGLE_CYCLE:单周期 IRREGULAR_CYCLE:不规则周期
     */
    @ApiModelProperty("周期模式")
    private String cycleMode;
    /**
     * 文件展示根路径
     */
    @ApiModelProperty("文件展示根路径")
    private String fileDisplayRootPath;
    /**
     * 评价模板商业参数
     */
    @ApiModelProperty("评价模板商业参数")
    private String schemeDataPara;

    /**
     * 达成度小数点规则
     */
    @ApiModelProperty("达成度小数点规则")
    private Long degreeDecimalPoint;

    /**
     * 小数最后一位规则 MALING:尾数抹零 ROUNDED:尾数四舍五入
     */
    @ApiModelProperty("小数最后一位规则")
    private String decimalDigitsLastRules;
    /**
     * Redis数据对象目录 计算临时数据:计算临时数据 测试过程问题:测试过程问题 分段查询临时记录:分段查询临时记录 平台软件配置:平台软件配置
     */
    @ApiModelProperty("Redis数据对象目录")
    private String redisDataObjectCatalogue;
    /**
     * 财务小数点规则
     */
    @ApiModelProperty("财务小数点规则")
    private Long finaceDecimalPoint;
    /**
     * 原始排队最小值
     */
    @ApiModelProperty("原始排队最小值")
    private Integer queueMinimumOri;

    /**
     * 排队最小值
     */
    @ApiModelProperty("排队最小值")
    private Integer queueMinimum;

    /**
     * 原始排队最大值
     */
    @ApiModelProperty("原始排队最大值")
    private Integer queueMaximumOri;

    /**
     * 排队最大值
     */
    @ApiModelProperty("排队最大值")
    private Integer queueMaximum;
    /**
     * 通用数值字段（整数型）
     */
    @ApiModelProperty("通用数值字段（整数型）")
    private Integer comNumField;
    /**
     * 文档后缀
     */
    @ApiModelProperty("文档后缀")
    private String postfix;

    /**
     * 文件大小
     */
    @ApiModelProperty("文件大小")
    private String fileSize;

    /**
     * 文档名称
     */
    @ApiModelProperty("文档名称")
    private String unstructuredDataName;

    /**
     * 自定义字段6
     */
    @ApiModelProperty("自定义字段6")
    private String customField6;

    @ApiModelProperty("主导航菜单列表")
    private List<MainNavMenusDto> mainNavMenusList = new ArrayList<>();

    /**
     * 状态大屏更新周期周期类型
     */
    @ApiModelProperty("状态大屏更新周期周期类型")
    private String updateCycleTypeCode;

    @ApiModelProperty("周期类型列表")
    private List<CycleTypeDto> cycleTypeList = new ArrayList<>();
    /**
     * 开启财务管理模式
     */
    @ApiModelProperty("开启财务管理模式")
    private String isOpenFinance;

    /**
     * 是否启用预算 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否启用预算")
    private String isOpenBudget;

    /**
     * 预算层级 PLAN_BUDGET:预算在规划 PRIMARY_CON_TASK_BUDGET:一级建设任务预算 LAST_CON_TASK_BUDGET:末级建设任务 ONE_LEVEL_OBSERVATION_POINT_BUDGET:一级观测点预算 LAST_LEVEL_OBSERVATION_POINT_BUDGET:末级观测点预算
     */
    @ApiModelProperty("预算层级")
    private String budgetLevel;

    /**
     * 费用汇报层级 PLAN_BUDGET:预算在规划 PRIMARY_CON_TASK_BUDGET:一级建设任务预算 LAST_CON_TASK_BUDGET:末级建设任务 ONE_LEVEL_OBSERVATION_POINT_BUDGET:一级观测点预算 LAST_LEVEL_OBSERVATION_POINT_BUDGET:末级观测点预算
     */
    @ApiModelProperty("费用汇报层级")
    private String costReportLevel;

    /**
     * 是否开启资金到账 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启资金到账")
    private String isOpenFundsArrival;

    /**
     * 资金单位
     */
    @ApiModelProperty("资金单位")
    private String fundUnit;
    /**
     * 操作时间
     */
    @ApiModelProperty("操作时间")
    private Date operateTime;
    /**
     * 目标得分单位
     */
    @ApiModelProperty("目标得分单位")
    private String targetScoreUnit;
    /**
     * 是否开启标志性成果 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启标志性成果")
    private String isOpenSymbolicAchievements;
    /**
     * 计算与刷新财务数据类型 APPROVE_CALC:审核并计算 APPROVE:只审核 CALC:只计算
     */
    @ApiModelProperty("计算与刷新财务数据类型")
    private String calcAndRefreshDataType;

    /**
     * 审核的计算场景 PLAN_TARGET_CALC:规划目标计算 PLAN_FINACE_UPDATE:规划财务更新 PLAN_TARGET_AND_FINACE_CALC:规划目标与财务计算
     */
    @ApiModelProperty("审核的计算场景")
    private String approveCalcScene;
    /**
     * 大屏数据版本号
     */
    @ApiModelProperty("大屏数据版本号")
    private String dashboradDataVersionNum;
    /**
     * 更新周期开始时间
     */
    @ApiModelProperty("更新周期开始时间")
    private Date updateCycleStartTime;

    /**
     * 更新周期结束时间
     */
    @ApiModelProperty("更新周期结束时间")
    private Date updateCycleEndTime;
    /**
     * 冗余评价模板ID
     */
    @ApiModelProperty("冗余评价模板ID")
    private String evaluationTemplateId;
    /**
     * 文档展示全路径地址
     */
    @ApiModelProperty("文档展示全路径地址")
    private String fileRelativeAllPathAccess;

    /**
     * 实体文件存储全路径地址
     */
    @ApiModelProperty("实体文件存储全路径地址")
    private String fileStoreAllPathAccess;
    /**
     * 审核是否开启数据计算 OPEN_CALC:开启计算 CLOSE_CALC:关闭计算
     */
    @ApiModelProperty("审核是否开启数据计算")
    private String isOpenDataCalc;
    /**
     * 大屏名称
     */
    @ApiModelProperty("大屏名称")
    private String dashboradName;

    /**
     * 大屏LOGO
     */
    @ApiModelProperty("大屏LOGO")
    private String dashboardLogo;

    @ApiModelProperty("大屏一级导航列表")
    private List<DashboardOneMenuDto> dashboardOneMenuList = new ArrayList<>();
    @ApiModelProperty("大屏二级导航列表")
    private List<DashboardTwoMenuDto> dashboardTwoMenuList = new ArrayList<>();
    /**
     * 大屏入口配置
     */
    @ApiModelProperty("大屏入口配置")
    private String dashboardEntranceConf;

    /**
     * 项目大屏入口是否开启
     */
    @ApiModelProperty("项目大屏入口是否开启")
    private String isOpenDashboardEntrance;

    /**
     * 大屏开启类型
     */
    @ApiModelProperty("大屏开启类型")
    private String dashboardOpenTypeCode;
    /**
     * 自定义字段7
     */
    @ApiModelProperty("自定义字段7")
    private String customField7;

    /**
     * 自定义字段8
     */
    @ApiModelProperty("自定义字段8")
    private String customField8;

    /**
     * 自定义字段9
     */
    @ApiModelProperty("自定义字段9")
    private String customField9;

    /**
     * 自定义字段10
     */
    @ApiModelProperty("自定义字段10")
    private String customField10;

    /**
     * 自定义字段11
     */
    @ApiModelProperty("自定义字段11")
    private String customField11;

    /**
     * 自定义字段12
     */
    @ApiModelProperty("自定义字段12")
    private String customField12;
    /**
     * 大屏类型 TOP_TARGET_PROGRESS:高层目标进度 TOP_TARGET_REACH:高层目标达成度 TOP_TARGET_SCORE:高层目标得分 TOP_TARGET_REPORT:高层目标成果汇报 TOP_TARGET_ALIGNMENT:高层目标对齐 TOP_ICONIC_ACHIEVEMENT:高层标志性成果 TOP_TARGET_BUDGET:高层目标预算 MID_TARGET_PROGRESS:中层目标进度 MID_TARGET_REACH:中层目标达成度 MID_TARGET_SCORE:中层目标得分 MID_TARGET_REPORT:中层目标成果汇报 MID_TARGET_ALIGNMENT:中层目标对齐 ROOT_TARGET_PROGRESS:基层目标进度 ROOT_TARGET_REACH:基层目标达成度 ROOT_TARGET_SCORE:基层目标得分 ROOT_TARGET_ALIGNMENT:基层目标对齐 PERSONAL_TARGET_REACH:个人目标达成度 PERSONAL_TARGET_SCORE:个人目标得分 PERSONAL_TARGET_ALIGNMENT:个人目标对齐 SUB_TARGET_REACH:下属目标达成度 SUB_TARGET_SCORE:下属目标得分 SUB_TARGET_ALIGNMENT:下属目标对齐 SUB_WORK_TASK:下属工作任务 SUB_QUESTION:下属问题导向 TOP_WORK_TASK:高层工作任务 TOP_QUESTION:高层问题导向 TOP_PROJECT_BUDGET:高层项目预算 TOP_PROJECT_PERFORMANCE:高层项目绩效 MID_WORK_TASK:中层工作任务 MID_QUESTION:中层问题导向 MID_PROJECT_BUDGET:中层项目预算 MID_PROJECT_PERFORMANCE:中层项目绩效 ROOT_WORK_TASK:基层工作任务 ROOT_QUESTION:基层问题导向 PERSONAL_WORK_TASK:个人工作任务 PERSONAL_QUESTION:个人问题导向
     */
    @ApiModelProperty("大屏类型")
    private String dashboradTypeCode;
    /**
     * 冗余版权归属对象类型 ORGANIZATION:组织 DEPARTMENT:部门 PERSONAL:个人
     */
    @ApiModelProperty("冗余版权归属对象类型")
    private String copyrightObjectTypeCode;

    /**
     * 冗余版权归属对象ID
     */
    @ApiModelProperty("冗余版权归属对象ID")
    private String copyrightObjectId;

    /**
     * 归属个人账号ID
     */
    @ApiModelProperty("归属个人账号ID")
    private String userId;
    /**
     * 排序
     */
    @ApiModelProperty("排序")
    private Long orderNumber;
    /**
     * 大屏颜色风格
     */
    @ApiModelProperty("大屏颜色风格")
    private String dashboardColorStyle;
    /**
     * 是否开启MQ消息队列 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启MQ消息队列")
    private String isOpenMq;

}
